<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>绑定样式</title>
    <!-- 引入生产版本的vue.js -->
    <script src="../js/vue.js"></script>

    <style>
        .basic {
            width: 200px;
            height: 100px;
            border: 1px solid #000;
        }
        .happy {
            background: red;
        }
        .sad {
            background: green;
        }
        .normal {
            background: yellow;
        }
        .s1 {
            background-color: red;
        }
        .s2 {
            border-radius: 10px;
        }
        .s3 {
            font-size: xx-large;
        }
    </style>
</head>
<body>
    <!-- 
        绑定样式：
            1. class样式
                写法:class="xxx" xxx可以是字符串、对象、数组。
                字符串写法适用于：类名不确定，要动态获取。
                对象写法适用于：要绑定多个样式，个数不确定，名字也不确定。
                数组写法适用于：要绑定多个样式，个数确定，名字也确定，但不确定用不用。
            2. style样式
                :style="{fontSize: xxx}"其中xxx是动态值。//对象写法
                :style="[a,b]"其中a、b是样式对象。//数组写法
     -->
    <div id="app">
        <!--  :class 绑定class样式字符串写法 适用于样式的类名不确定需要动态琢磨的状况  -->
        <div class="basic" :class="mood"  @click="changeMood">Hello</div>

        <!-- :class 绑定样式数组 数组-->
        <div class="basic" :class="moodArr">Hello</div>

        <!-- :class 绑定样式数组 对象形式 -->
        <div class="basic" :class="classObj">Hello</div>

        <!-- :style 绑定样式对象-->
        <div class="basic" :style="styleObj">Hello</div>

    </div>

    <script>
        const vm = new Vue({
            el:"#app",
            data() {
                return {
                    mood:'happy',

                    moodArr:['s1','s2','s3'],

                    classObj:{
                        s1:false,
                        s2:true,
                        s3:true
                    },
                    
                    styleObj:{
                        fontSize: '30px',//css中为font-size,z在此处全部改为驼峰命名法
                        color: 'yellow',
                    }
                };
            },
            methods: {
                changeMood(){
                    const arr = ['happy','sad','normal'];
                    var index = Math.floor(Math.random()*3);
                    console.log(index);
                    this.mood = arr[index];
                },
            },

        })
    </script>
</body>
</html>